/**
 * 给定一个二叉树的 根节点 root，想象自己站在它的右侧，按照从顶部到底部的顺序，返回从右侧所能看到的节点值。
 * 深度优先遍历
 *https://leetcode.cn/problems/binary-tree-right-side-view/
 *
 */

import java.util.List;

class RightSideView {
     List<Integer> ret=new ArrayList<>();
    public List<Integer> rightSideView(TreeNode root) {
       
        dfs(root,0);
        return ret;
    }
    public void dfs(TreeNode root,int depth){
        if(root==null){
            return;
        }
        if(depth==ret.size()){
            ret.add(root.val);
        }
        depth++;
        dfs(root.right,depth);
        dfs(root.left,depth);
    }
}